﻿#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//strtok
//切割字符串
//char *strtok(char *str, const char *delim)
//根据delim参数中指定的分隔符,将输⼊字符串str拆分成多个⼦字符串
//修改原始字符串：strtok会直接在原始字符串中插⼊'\0'终⽌符,替换分隔符的位置
//因此原始字符串会被修改
//str:⾸次调⽤时传⼊待分割的字符串,后续调⽤传⼊NULL,表⽰继续分割同⼀个字符串
//delim包含所有可能分隔符的字符串（每个字符均视为独⽴的分隔符
//成功时返回指向当前⼦字符串的指针
//没有更多⼦字符串时返回NULL

//⾸次调⽤：传⼊待分割字符串和分隔符。
//后续调⽤：传⼊NULL和相同的分隔符,继续分割。
//结束条件：当返回NULL时,表⽰分割完成

//多个连续的分隔符会被视为单个分隔符,不会返回空字符串
//int main()
//{
//	char arr[] = "what.can.i.say";
//	const char* sep = ".";
//	const char* str = NULL;
//
//	char buf[30] = { 0 };
//	strcpy(buf, arr); //将arr中的字符串拷⻉到buf中，对buf的内容进⾏切割 
//	for (str = strtok(buf, sep); str != NULL; str = strtok(NULL, sep))
//	{
//		printf("%s\n", str);
//	}
//	return 0;
//}

//strerror
//char* strerror(int errnum)
//可以通过参数部分的errnum表⽰错误码,得到对应的错误信息
//并且返回这个错误信息字符串⾸字符的地址

//errno是c语言设置的一个全局的错误码存放的变量
//errnum ：表⽰错误码
//这个错误码⼀般传递的是 errno 这个变量的值
//在C语⾔有⼀个全局的变量叫:errno,当库函数的调⽤发⽣错误的时候，就会将本次错误的错误码存放在 errno 这个变量中
//使⽤这个全局变量需要包含⼀个头⽂件 errno.h
//函数返回通过错误码得到的错误信息字符串的⾸字符的地址

//我们打印⼀下0~10这些错误码对应的信息 
//int main()
//{
//	int i = 0;
//	for (i = 0; i <= 10; i++) {
//		printf("%d: %s\n", i, strerror(i));
//	}
//	return 0;
//}

//#include<errno.h>
//int main()
//{
//	FILE* pFile = NULL;
//	//fopen函数以读的形式打开⽂件，如果⽂件不存在，则打开失败。 
//	pFile = fopen("unexist.ent", "r");
//	if (pFile == NULL)
//	{
//		printf("错误信息是：%s\n", strerror(errno));
//		return 1;//错误返回 
//	}
//
//	return 0;
//}

//字符分类函数

//字符转换函数
//如果不是字母不变
//tolower（）：转小写
//toupper（）：转大写

